"""
mysql的使用:

"""

# 创建mysql的数据库连接
from pymysql import Connection

# 获取mysql数据库的连接对象
conn = Connection(
    host="localhost",  # 主机名或者ip地址
    port=3306,  # 端口号
    user='root',  # 用户名
    password='1234'  # 密码
)

# 打印mysql数据库软件信息
print(conn.get_server_info())
#关闭到数据库的连接
conn.close()


print("-------------建表语句-----------------")
# 建表语句的sql
from pymysql import  Connection
# 获取mysql数据库的连接对象
conn = Connection(
    host="localhost",  # 主机名或者ip地址
    port=3306,  # 端口号
    user='root',  # 用户名
    password='1234'  # 密码
)

# 获取游标对象 是用于执行 SQL 查询并获取结果的对象。它允许你与数据库进行交互，执行查询、插入、更新和删除等操作
cursor=conn.cursor()
conn.select_db("applet") # 先选择使用数据库
#使用游标对象,执行sql语句
cursor.execute("drop table if exists test_pymysql")
data_mysql=cursor.execute("create table test_pymysql(id INT,info varchar(255))") # 创建表
# 提交事务
conn.commit()
#关闭数据库连接
conn.close()


print("----------------查询语句-------------------")
# 查询语句的sql
from  pymysql import Connection

#获取连接对象
conn = Connection(
    host="localhost",  # 主机名或者ip地址
    port=3306,  # 端口号
    user='root',  # 用户名
    password='1234'  # 密码
)

# 获取游标对象
cursor=conn.cursor()
# 选择使用哪个数据库
conn.select_db("applet")

#sql语句
sql="select * from user"
cursor.execute(sql) # 执行sql

#获取查询结果  tuple:元组
results:tuple=cursor.fetchall() # cursor.fetchall()返回的是全部的查询结果，是一个元组类型。
for r in results:
    print(r)

# 关闭数据库
conn.close()



print("-----------------插入语句--------------------")

from  pymysql import Connection
#获取连接对象
conn = Connection(
    host="localhost",  # 主机名或者ip地址
    port=3306,  # 端口号
    user='root',  # 用户名
    password='1234',  # 密码
    autocommit=True # 设置自动提交事务
)

# 获取游标对象
cursor=conn.cursor()
#选择使用哪个数据库
conn.select_db("applet")
#执行sql
cursor.execute("INSERT INTO `applet`.`user` ( `wx_id`, `wx_nickname`, `roles`, `avatar_url`, `create_time`, `update_time`, `bonus` ) VALUES( '', '', '熊大ddddd', 'https://www.baidu.com', '2019-12-21 08:45:52', '2019-12-21 08:45:52', 24540 )")
#关闭连接
conn.close()